#include <bits/stdc++.h>
using namespace std;

/*
1295. 统计位数为偶数的数字
已解答
简单
相关标签
相关企业
提示
给你一个整数数组 nums，请你返回其中包含 偶数 个数位的数字的个数。

 

示例 1：

输入：nums = [12,345,2,6,7896]
输出：2
解释：
12 是 2 位数字（位数为偶数） 
345 是 3 位数字（位数为奇数）  
2 是 1 位数字（位数为奇数） 
6 是 1 位数字 位数为奇数） 
7896 是 4 位数字（位数为偶数）  
因此只有 12 和 7896 是位数为偶数的数字
示例 2：

输入：nums = [555,901,482,1771]
输出：1 
解释： 
只有 1771 是位数为偶数的数字。
 

提示：

1 <= nums.length <= 500
1 <= nums[i] <= 105
*/

// 法一
class Solution {
	public:
	int findNumbers(vector<int>& nums) {
		int ans = 0;
		for (int num: nums) {
			if (to_string(num).size() % 2 == 0) {
				++ans;
			}
		}
		return ans;
	}
};

// 法二
class Solution {
	public:
	int findNumbers(vector<int>& nums) {
		int count = 0;
		for (int num : nums) {
			// 当前数字的位数
			int dig = to_string(num).length();  // 空字符串 get 长度
			if (dig % 2 == 0)   count++;        // 位数 偶数就 ++ 
		}
		return count;
	}
};

// size 和 length 的性能差距 注意